package test;

import java.util.Collection;
import java.util.*;

import com.sun.javafx.collections.MappingChange.Map;

public class EmptyUtils {

	/**
	* 判断 Collection(List 和 Set) 是否为空
	*
	* @param collection List 或 Set 类型的集合
	* @return 如果 collection 是 null 或 size=0，返回 true；否则，返回 false。
	*/
	public static boolean isEmpty(Collection<?> collection){
		return collection == null || collection.size()== 0;
		}
	
	
	/**
	* 判断 map 是否为空
	*
	* @param map 键值对数据类型
	* @return 如果 map 是 null 或 size=0，返回 true；否则，返回 false。
	*/
	public static boolean isEmpty(Map<?, ?> map) {
		return map == null || ((Collection<?>) map).size() == 0;
		}
	
	
	/**
	* 判断一个数组是否为空。
	*
	* @param array 对象数组
	* @return 如果数组为 null 或者数组元素个数为 0，返回 true；否则，返
	回 false。
	*/
	public static boolean isEmpty(Object[] array) {
		return array == null || array.length == 0;
	}
	
	
	/**
	* 判断 Collection(List 和 Set) 不为空
	*
	* @param collection List 或 Set 类型的集合
	* @return 如果 collection 不等于 null 且 size>0，返回 true；否则，返回
	false。
	*/
	public static boolean notEmpty(Collection<?> collection) {
		return !isEmpty(collection);
	}
	
	
	/**
	* 判断 map 不为空
	*
	* @param map 键值对数据类型
	* @return 如果 map 不为 null 且 size>0，返回 true；否则，返回 false。
	*/
	public static boolean notEmpty(Map<?, ?> map) {
		return !isEmpty(map);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}
	
	/**
	* 判断一个数组不为空。
	*
	* @param array 对象数组
	* @return 如果数组为 null 或者数组元素个数为 0，返回 false；否则，返
	回 true。
	*/
	public static boolean notEmpty(Object[] array) {
		return !isEmpty(array);
	}

}
